{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Building Pulse Schedules\n",
    "\n",
    "Pulse programs, which are called `Schedule`s, describe instruction sequences for the control electronics. We build `Schedule`s using the Pulse Builder. It's easy to initialize a schedule:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Schedule(, name=\"my_example\")"
      ]
     },
     "execution_count": 1,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "from qiskit import pulse\n",
    "\n",
    "with pulse.build(name='my_example') as my_program:\n",
    "    # Add instructions here\n",
    "    pass\n",
    "\n",
    "my_program"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "You can see that there are no instructions yet. The next section of this page will explain each of the instructions you might add to a schedule, and the last section will describe various _alignment contexts_, which determine how instructions are placed in time relative to one another."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# `Schedule` Instructions\n",
    "\n",
    " - [delay(duration, channel)](#delay)\n",
    " - [play(pulse, channel)](#play)\n",
    " - [set_frequency(frequency, channel)](#set_frequency)\n",
    " - [shift_phase(phase, channel)](#shift_phase)\n",
    " - [acquire(duration, channel, mem_slot, reg_slot)](#acquire)\n",
    "\n",
    "Each instruction type has its own set of operands. As you can see above, they each include at least one `Channel` to specify where the instruction will be applied.\n",
    "\n",
    "**Channels** are labels for signal lines from the control hardware to the quantum chip.\n",
    "\n",
    " - `DriveChannel`s are typically used for _driving_ single qubit rotations,\n",
    " - `ControlChannel`s are typically used for multi-qubit gates or additional drive lines for tunable qubits, \n",
    " - `MeasureChannel`s are specific to transmitting pulses which stimulate readout, and\n",
    " - `AcquireChannel`s are used to trigger digitizers which collect readout signals.\n",
    " \n",
    "`DriveChannel`s, `ControlChannel`s, and `MeasureChannel`s are all `PulseChannel`s; this means that they support _transmitting_ pulses, whereas the `AcquireChannel` is a receive channel only and cannot play waveforms.\n",
    "\n",
    "For the following examples, we will create one `DriveChannel` instance for each `Instruction` that accepts a `PulseChannel`. Channels take one integer `index` argument. Except for `ControlChannel`s, the index maps trivially to the qubit label."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "from qiskit.pulse import DriveChannel\n",
    "\n",
    "channel = DriveChannel(0)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "The pulse `Schedule` is independent of the backend it runs on. However, we can build our program in a context that is aware of the target backend by supplying it to `pulse.build`. When possible you should supply a backend. By using the channel accessors `pulse.<type>_channel(<idx>)` we can make sure we are only using available device resources."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "5\n"
     ]
    }
   ],
   "source": [
    "from qiskit.test.mock import FakeValencia\n",
    "\n",
    "backend = FakeValencia()\n",
    "\n",
    "with pulse.build(backend=backend, name='backend_aware') as backend_aware_program:\n",
    "    channel = pulse.drive_channel(0)\n",
    "    print(pulse.num_qubits())\n",
    "    # Raises an error as backend only has 5 qubits\n",
    "    #pulse.drive_channel(100)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## `delay`\n",
    "\n",
    "One of the simplest instructions we can build is `delay`. This is a blocking instruction that tells the control electronics to output no signal on the given channel for the duration specified. It is useful for controlling the timing of other instructions.\n",
    "\n",
    "The duration here and elsewhere is in terms of the backend's cycle time (1 / sample rate), `dt`. It must take an integer value.\n",
    "\n",
    "To add a `delay` instruction, we pass a duration and a channel, where `channel` can be any kind of channel, including `AcquireChannel`. We use `pulse.build` to begin a Pulse Builder context. This automatically schedules our delay into the schedule `delay_5dt`."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [],
   "source": [
    "with pulse.build(backend) as delay_5dt:\n",
    "    pulse.delay(5, channel)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "That's all there is to it. Any instruction added after this delay on the same channel will execute five timesteps later than it would have without this delay.\n",
    "\n",
    "## `play`\n",
    "\n",
    "The `play` instruction is responsible for executing _pulses_. It's straightforward to add a play instruction:\n",
    "\n",
    "```\n",
    "with pulse.build() as sched:\n",
    "    pulse.play(pulse, channel)\n",
    "```\n",
    "\n",
    "Let's clarify what the `pulse` argument is and explore a few different ways to build one.\n",
    "\n",
    "### Pulses\n",
    "\n",
    "A `Pulse` specifies an arbitrary pulse _envelope_. The modulation frequency and phase of the output waveform are controlled by the `set_frequency` and `shift_phase` instructions, which we will cover next.\n",
    "\n",
    "The image below may provide some intuition for why they are specified separately. Think of the pulses which describe their envelopes as input to an arbitrary waveform generator (AWG), a common lab instrument -- this is depicted in the left image. Notice the limited sample rate discritizes the signal. The signal produced by the AWG may be mixed with a continuous sine wave generator. The frequency of its output is controlled by instructions to the sine wave generator; see the middle image. Finally, the signal sent to the qubit is demonstrated by the right side of the image below.\n",
    "\n",
    "**Note**: The hardware may be implemented in other ways, but if we keep the instructions separate, we avoid losing explicit information, such as the value of the modulation frequency.\n",
    "\n",
    "![alt text](pulse_modulation.png \"Pulse modulation image\")\n",
    "\n",
    "There are many methods available to us for building up pulses. Our `library` within Qiskit Pulse contains helpful methods for building `Pulse`s. Let's take for example a simple Gaussian pulse -- a pulse with its envelope described by a sampled Gaussian function. We arbitrarily choose an amplitude of 1, standard deviation $\\sigma$ of 10, and 128 sample points.\n",
    "\n",
    "**Note**: The amplitude norm is arbitrarily limited to `1.0`. Each backend system may also impose further constraints -- for instance, a minimum pulse size of 64. These additional constraints, if available, would be provided through the `BackendConfiguration` which is described [here](08_gathering_system_information.ipynb#Configuration)."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [],
   "source": [
    "from qiskit.pulse import library\n",
    "\n",
    "amp = 1\n",
    "sigma = 10\n",
    "num_samples = 128"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### Parametric pulses\n",
    "Let's build our Gaussian pulse using the `Gaussian` parametric pulse. A parametric pulse sends the name of the function and its parameters to the backend, rather than every individual sample. Using parametric pulses makes the jobs you send to the backend much smaller. IBM Quantum backends limit the maximum job size that they accept, so parametric pulses may allow you to run larger programs.\n",
    "\n",
    "Other parametric pulses in the `library` include `GaussianSquare`, `Drag`, and `Constant`.\n",
    "\n",
    "\n",
    "**Note**: The backend is responsible for deciding exactly how to sample the parametric pulses. It is possible to draw parametric pulses, but the samples displayed are not guaranteed to be the same as those executed on the backend."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 936x118.8 with 1 Axes>"
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "gaus = pulse.library.Gaussian(num_samples, amp, sigma,\n",
    "                              name=\"Parametric Gaus\")\n",
    "gaus.draw()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### Pulse waveforms described by samples\n",
    "\n",
    "A `Waveform` is a pulse signal specified as an array of time-ordered complex amplitudes, or _samples_. Each sample is played for one cycle, a timestep `dt`, determined by the backend. If we want to know the real-time dynamics of our program, we need to know the value of `dt`. The (zero-indexed) $i^{th}$ sample will play from time `i*dt` up to `(i + 1)*dt`, modulated by the qubit frequency."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 936x118.8 with 1 Axes>"
      ]
     },
     "execution_count": 7,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "import numpy as np\n",
    "\n",
    "times = np.arange(num_samples)\n",
    "gaussian_samples = np.exp(-1/2 *((times - num_samples / 2) ** 2 / sigma**2))\n",
    "\n",
    "gaus = library.Waveform(gaussian_samples, name=\"WF Gaus\")\n",
    "gaus.draw()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### Pulse library functions\n",
    "\n",
    "Our own pulse library has sampling methods to build a `Waveform` from common functions."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 936x118.8 with 1 Axes>"
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "gaus = library.gaussian(duration=num_samples, amp=amp, sigma=sigma, name=\"Lib Gaus\")\n",
    "gaus.draw()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Regardless of which method you use to specify your `pulse`, `play` is added to your schedule the same way:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 936x118.8 with 1 Axes>"
      ]
     },
     "execution_count": 9,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "with pulse.build() as schedule:\n",
    "    pulse.play(gaus, channel)\n",
    "schedule.draw()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "You may also supply a complex list or array directly to `play`"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 936x118.8 with 1 Axes>"
      ]
     },
     "execution_count": 10,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "with pulse.build() as schedule:\n",
    "    pulse.play([0.001*i for i in range(160)], channel)\n",
    "schedule.draw()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "The `play` instruction gets its duration from its `Pulse`: the duration of a parametrized pulse is an explicit argument, and the duration of a `Waveform` is the number of input samples.\n",
    "\n",
    "## `set_frequency`\n",
    "\n",
    "As explained previously, the output pulse waveform envelope is also modulated by a frequency and phase. Each channel has a [default frequency listed in the backend.defaults()](08_gathering_system_information.ipynb#Defaults).\n",
    "\n",
    "The frequency of a channel can be updated at any time within a `Schedule` by the `set_frequency` instruction. It takes a float `frequency` and a `PulseChannel` `channel` as input. All pulses on a channel following a `set_frequency` instruction will be modulated by the given frequency until another `set_frequency` instruction is encountered or until the program ends.\n",
    "\n",
    "The instruction has an implicit duration of `0`. \n",
    "\n",
    "**Note**: The frequencies that can be requested are limited by the total bandwidth and the instantaneous bandwidth of each hardware channel. In the future, these will be reported by the `backend`."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [],
   "source": [
    "with pulse.build(backend) as schedule:\n",
    "    pulse.set_frequency(4.5e9, channel)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## `shift_phase`\n",
    "\n",
    "The `shift_phase` instruction will increase the phase of the frequency modulation by `phase`. Like `set_frequency`, this phase shift will affect all following instructions on the same channel until the program ends. To undo the affect of a `shift_phase`, the negative `phase` can be passed to a new instruction.\n",
    "\n",
    "Like `set_frequency`, the instruction has an implicit duration of `0`."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [],
   "source": [
    "with pulse.build(backend) as schedule:\n",
    "    pulse.shift_phase(np.pi, channel)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## `acquire`\n",
    "\n",
    "The `acquire` instruction triggers data acquisition for readout. It takes a duration, an `AcquireChannel` which maps to the qubit being measured, and a `MemorySlot` or a `RegisterSlot`. The `MemorySlot` is classical memory where the readout result will be stored. The `RegisterSlot` maps to a register in the control electronics which stores the readout result for fast feedback.\n",
    "\n",
    "The `acquire` instructions can also take custom `Discriminator`s and `Kernel`s as keyword arguments."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [],
   "source": [
    "from qiskit.pulse import Acquire, AcquireChannel, MemorySlot\n",
    "\n",
    "with pulse.build(backend) as schedule:\n",
    "    pulse.acquire(1200, pulse.acquire_channel(0), MemorySlot(0))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Now that we know how to add `Schedule` instructions, let's learn how to control exactly when they're played.\n",
    "\n",
    "# Pulse Builder\n",
    "Here, we will go over the most important Pulse Builder features for learning how to build schedules. This is not exhaustive; for more details about what you can do using the Pulse Builder, check out the [Pulse API reference](https://qiskit.org/documentation/apidoc/pulse.html).\n",
    "\n",
    "## Alignment contexts\n",
    "The builder has alignment contexts which influence how a schedule is built. Contexts can also be nested. Try them out, and use `.draw()` to see how the pulses are aligned.\n",
    "\n",
    "Regardless of the alignment context, the duration of the resulting schedule is as short as it can be while including every instruction and following the alignment rules. This still allows some degrees of freedom for scheduling instructions off the \"longest path\". The examples below illuminate this.\n",
    "\n",
    "## `align_left`\n",
    "The builder has alignment contexts that influence how a schedule is built. The default is `align_left`."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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AXRQVRV77rUXXbp04cADD2Lx4sWccMI36dq1KyNGjGT+/Pm88847LbMBzczMrM0qddzF67n37wO13ay2AmbWzoiIdyW9BWwNzC0x79dy7/sDR0s6NJfWFXg6W9fiiHgvN28esE2J6zGrGNVV1dx9110sWbKExYsX079/f/r06cO4c89lyZIlzJkzh+qqaqZMeYZrr7mGefPmsTqCD5Yt45M7fBKAfv36se222zF50iT22XdfJk2cyKl33Q3A/AXzeeKJ3zFpcq6L1ocfsvvuuxctz6JFi9hyyy3XTG+51VYseuONNdO9evVmww03XOczfXr3WfN+w27d6NmrF507d07T2bLLlr1Pjx491mdTmZmZWTuzvgO/55OCBgAkbQz0Af7diDwi9/414JcRcWLhQpL6A70kbZwLQvoVfN6sTdj1s59l6dKl3H/ffXx2t90A6N69O337bs79991H37596bv55hx55BFcdPHFDB++H127duWMM75L5Hb5ESNTN6zVsZrtttuOfv36AbDFFlsw+pBDOP/88SWVp2/fvixYsIAddtgBgAULFtB3883XzG/CWHUzMzOzotb3Llh3AMdL2k3ShsCPgD9ExNwm5vcr4FBJB0vqLKmbpOGSPhER80jdsS6QtIGkvYFD68/OrDJ169aNgTvvzC9/eRtVg6rWpA8aNCilVVfz4YcfsmLFCnr16k2XLl2YMuUZnps2bZ18RowYwXPTpnHP3XczctSoNemjRx/C5EmTmPrss6xatYrly5czffp0Fi58nWJGjBzJ9ddfR01NDYsXL+a6a69l9OjRLfPlzczMrENbrwAkIp4ExgH3AQuA7YEvr0d+rwGHAT8EFpFaRL6fK+dXgT2AGuB84Lb857MHHA5r6vrNymlw9WBqamoYVLX2mZyDqqqoqamhuqqajTfemLN/8J+c/f2xDBu2NxMencC++w5fJ4++ffuy6667Mnv2bA4+eMSa9C222IIrr/yfNXelGnHwQdx66y2sXl28wfDEE09i54E7c8zRR3H0UUey0047ceKJJ7XI9zYzM7OOTRFttweTpPHADhHx9cJ5VVVVMWly8QG3ZmZmZmbWsB6bdJ8REYObM89yP4jQzMzMzMw6MAcgZmZmZmZWNut7F6xWFRHjW7sMZmZmZmZWOreAmJmZmZlZ2TgAMTMzMzOzsnEAYmZmZmZmZeMAxMzMzMzMysYBiJmZmZmZlY0DEDMzMzMzK5s2fRteM/uol+Z1bvRndu6/qgVKYmZWmVxPmrUuByBmbURTDpjNnbcPwGZWyVxPmrUNDkDMKlhLHkybIl8eH2TNrLVVWh0JrifNSuEAxKyCVOLBtC6FZfWB1szKoa3Wk64jzdZyAGLWytrSwbQ+PtCaWUtpD/WkL9qYreUAxKwVtIeDaX0cjJjZ+nI9adZ+OQAxK5P2fjCti6/6mVkpOmodCQ5GrONxAGLWQjrywbQ+PtCaWS3Xkx/lizbWETgAMWtGPpg2joMRs47H9WTjuJ609sgBiNl68sG0efgga9Y+uY5sPq4nrb1wAGLWSD6Ytjx3QTBr21xPtjwHI9aWdWrtApiZmZmZWcfhFhCzEvhqXuvylT6zyud6svW41djaGgcgZnXwwbQyORgxqxyuJyuT60mrdO6CZWZmZmZmZeMWELOMr+S1Pe52YFZerifbHreGWCVyAGIdmg+m7YsPtGbNz/Vk++GLNlYp3AXLzMzMzMzKxi0g1uH4al7H4NYQs6ZzPdkxuJ601uIAxDoEH0w7Nh9kzernOtJcT1o5uQuWmZmZmZmVjVtArF3y1TyriwdhmiWuJ60urietpTkAsXbDB1NrCnc7sI7E9aQ1hetJa27ugmVmZmZmZmXjFhBr03w1z5qTr/JZe+M60pqb60lrDg5ArE3xwdTKxX2gra1yPWnl4mDEmspdsMzMzMzMrGzcAmIVz1fzrBL4Sp9VMteT1trcamyN4QDEKpIPplbJHIxYJXA9aZXM9aTVx12wzMzMzMysbNwCYhXDV/OsLXK3AysX15HWVrk1xAo5ALFW44OptUc+0Fpzcj1p7Y0v2hg4ALEy88HUOhIHI9YUrietI3E92TF5DIiZmZmZmZWNW0Csxflqnpmv8lndXEeaJa4nOw4HINbsfDA1q5/7QJvrSbP6ORhp3xyAWLPwwdSs6Xyg7RhcT5o1jS/atD8OQKzJfDA1a34ORtoP15FmLcP1ZNvnAMRK5oOpWXn5ql/b43rSrLwcjLRNDkCsXj6YmlUOH2grk+tJs8rgizZthwMQ+wgfTM0qn4OR1uV60qzyuZ6sXA5ADPDB1Kwt81W/luc60qxtczBSWSomAJE0Hjg/mwxgCTAH+B1wVUS8nlv2NGA0MAToDewXERPLWd62zgdTs/bLB9rm4XrSrH3yRZvWVzEBSGYJMCJ7vylQBZwKnCRpRETMyOYdSwpSHge+UvZStiE+gJp1bHXVAT7gJq4jzcz1ZPlVWgCyMiKey00/LukXwGTgTkk7RsQqYM+IWC1pFxyArMMHUzMrRUe+Auh60sxK4dbkllNpAchHRMTbks4GJgAHAo9FxOpWLlar8wHUzJpTe7sC6DrSzJpTfXVKW60nW1PFByCZicBK0piPx1q3KOXjA6iZtbZKP+i6njSz1lbp9WQlahMBSER8IOlN4OOtXZaW4AOombVF5Trouo40s7aqvbUuN5c2EYBk1NoFaCwfNM2so3L9Z2ZWt1LryPYaqLSJAERSN6APsLDUz8yaNYsem3RvuUKZmZmZmVmjtYkABNiPVNZppX5g0KBBTJr8TMuVyMzMzMysnWuJC/qdmj3HZiapJ3AJ6aGET7ZuaczMzMzMbH1UWgtIF0lDsvebANWkBxFuBIzIngGCpMHAAGCbbNl9JW0GzI2I58tbZDMzMzMzK1WlBSCbkrpZBfAOqdXjV8BVEfF6brnTgeNy0+Ozv7cCY1q8lGZmZmZm1iQVE4BExHjWBhINLTsGBxpmZmZmZm1OxY8BMTMzMzOz9sMBiJmZmZmZlY0DEDMzMzMzK5uyBiCSDpf0mqR3JQ0q57rNbK233nqLE44fw55Dh3DF5Ze3dnHMzCqO60mzllPuFpDLgdMjontEzCrzus0qwo033sC3Tjt1nbRDDz2kaNpjEya0SBnuu/deevbsxbNTp3HW2LEtsg4zs6ZyPWnWvpU7AOkPvFRshqSKuSOXWUuqqqpm9uzZrFq1CoBFixaxcuVKXn755XXSXnv1Vaqqq1ukDAsWzGe77bdDUqM/u3LlyhYokZnZWq4nzdq3BgMQSXMljZX0gqQlku6S1C03/0RJcyTVSHpQ0lZF8thQ0rtAZ2C2pL/n8v6BpBeA9yR1kTRE0lRJb0uaLWl4Lp9tJU2StFTSE5KulvSrZtgOZmWzyy67sHLlSl555RUAZs6cye6Dd2fAgAHrpG2zzTZMnTqVw794GHsOHcLoUSO595571uRz+BcPY/KkSWumV65cyX7D9+Uvf/kzAC+8MJtjj/0Ge++9F8ccfRTTp08HYNy4c3nooYe45eabGTpkD5577jlWrFjBpZdewoEH7M+BB+zPpZdewooVKwCYPn06Bx14ADffdBP7f34/zj/vPH7xi58zduxZ/PCcc9hz6BCOOvII5s2dy4033sB+w/fl4IMOZOrUqWXZnmbW/rieNGvfSm0BOQYYAWwL7Er2DA5Jnwd+nM3fEpgH3Fn44YhYHhHds8nPRsT2udlfAUYDPYGPA48AFwO9gbHAfZL6ZsveDswANgMuYt2HEZq1CV27dmWXXT7DjBkzAJg5YwZVVVXsNmhQQVo1vXv35mdXXc2zU6dxwYUXcfnll605cI4YMZIJj63tejB16lR69uzJTjsNZOHChXz79NM58cSTmDz5Gb535lmMPetMampquOiiixk5ahRjjj+eac/9gSFDhnDD9dfzpxde4K677uauu+/hxRdf5PrrrluT91tvvcWSJUuY8NjjjDvvPAAmT5rEIYccwuRnprDjjjty6qmnsHr1an73xJOcdPLJXHzRheXapGbWzrieNGvfSg1AfhYR8yOiBngI2C1L/xpwU0TMjIjlwDnAUEkDGlGGn0XEaxGxDPg68GhEPBoRqyPiCeB5YJSkfsDuwLgsoJmclcWszakeXM3M7CA6a9ZMBlVVUVVVtU5a9eBq9tlnH7bZZhskMXjwYIYMHcrMmTMBGDlqFJMmTmTZsmUATJjwKCNGjATg0UceYe+9hzFs2DA6derE0KFDGThwZ6ZMeaZoeR599BFOOvkUevfpQ+/evTnl5FN4+JGH18yXxKmnncYGG2xAt26pAXRQVRV77rUXXbp04cADD2Lx4sWccMI36dq1KyNGjGT+/Pm88847LbMBzazdcz1p1n6VOu7i9dz794HablZbATNrZ0TEu5LeArYG5paY92u59/2BoyUdmkvrCjydrWtxRLyXmzcP2KbE9ZhVjOqqau6+6y6WLFnC4sWL6d+/P3369GHcueeyZMkS5syZQ3VVNVOmPMO111zDvHnzWB3BB8uW8ckdPglAv3792Hbb7Zg8aRL77LsvkyZO5NS77gZg/oL5PPHE75g0Odf14MMP2X333YuWZ9GiRWy55ZZrprfcaisWvfHGmulevXqz4YYbrvOZPr37rHm/Ybdu9OzVi86dO6fpbNlly96nR48e67OpzKyDcj1p1n6t78Dv+aSgAQBJGwN9gH83Io/IvX8N+GVEnFi4kKT+QC9JG+eCkH4FnzdrE3b97GdZunQp9993H5/dbTcAunfvTt++m3P/fffRt29f+m6+OUceeQQXXXwxw4fvR9euXTnjjO8SuV1+xMjUvWB1rGa77bajX79+AGyxxRaMPuQQzj9/fEnl6du3LwsWLGCHHXYAYMGCBfTdfPM185swBtPMbL24njRrv9b3Llh3AMdL2k3ShsCPgD9ExNwm5vcr4FBJB0vqLKmbpOGSPhER80jdsS6QtIGkvYFD68/OrDJ169aNgTvvzC9/eRtVg6rWpA8aNCilVVfz4YcfsmLFCnr16k2XLl2YMuUZnps2bZ18RowYwXPTpnHP3XczctSoNemjRx/C5EmTmPrss6xatYrly5czffp0Fi58nWJGjBzJ9ddfR01NDYsXL+a6a69l9OjRLfPlzcxK4HrSrP1arwAkIp4ExgH3AQuA7YEvr0d+rwGHAT8EFpFaRL6fK+dXgT2AGuB84Lb857MHHA5r6vrNymlw9WBqamoYVLX2mZyDqqqoqamhuqqajTfemLN/8J+c/f2xDBu2NxMencC++w5fJ4++ffuy6667Mnv2bA4+eMSa9C222IIrr/yfNXdbGXHwQdx66y2sXl28wfDEE09i54E7c8zRR3H0UUey0047ceKJJ7XI9zYzK5XrSbP2SRFttweTpPHADhHx9cJ5VVVVMWly8YFkZmZmZmbWsB6bdJ8REYObM89yP4jQzMzMzMw6MAcgZmZmZmZWNut7F6xWFRHjW7sMZmZmZmZWOreAmJmZmZlZ2TgAMTMzMzOzsnEAYmZmZmZmZeMAxMzMzMzMysYBiJmZmZmZlY0DEDMzMzMzK5s2/ST0+khaBMxr5WJsBrzZymWwyuf9xErlfcVK4f3ESuV9xUrx6YjYpDkzbNPPAalPRPRt7TJIer65H11v7Y/3EyuV9xUrhfcTK5X3FSuFpOebO093wTIzMzMzs7JxAGJmZmZmZmXjAKRlXdfaBbA2wfuJlcr7ipXC+4mVyvuKlaLZ95N2OwjdzMzMzMwqj1tAzMzMzMysbByAmJmZmZlZ2TgAaWaSBkp6StL7kuZLulBS59Yul1UGSVtLeldSSOqepW0p6TJJs7N5r0m6VdJWrV1eKy9JX5Y0M9sP/i3ptvr2A0k/zfaly8tZTisvSTtIulbSC5JWSZpYML9RdYikkyS9KOkDSQsl3VWWL2ItqqH9JLfcZyQ9LGmJpKWS/iipumCZRtVF1nZIOlrSg9nv+q6kGZK+UrDMlyTdL2lBdowZU0deW0t6INuP3pR0taSNSimHA5BmJKkX8CQQwGHAhcBZwAWtWS6rKJcB7xakVQOHA3cAhwLfB/YAptYGKdb+SfoCaR+YSqo/fgDsAzwi6SN1taSBwDeBd8pZTmsVOwOjgFeAvxaZX3IdIuli4FLgFuBg4Nv4QXTtRUP7CZJ2I9UxbwNfAo4GHgI+llumUXWRtTlnks5Dvgd8AXgauF3St3PLHAUMAB6uKxNJXYHHgf7Al4HvkvankgasexB6M5J0DnA20D8i3snSzgbGA1vUplnHJGkf4DfAj0iByCYR8a6knsC7EbEyt+ynSAeRMRFxaysU18pM0p3AJyOiOpf2BeC3wMCI+EvB8k+RThC+AdwbEWPLWV4rH0mdImJ19v5eYLOIGJ6b35MS6hBJOwMvACMi4onyfQMrh4b2kyz9OeAfEfHVevJpVF1kbYukzSLizYK024GhEbFtNt0pIlZnFzCWAsdHxC0Fn/kK8Ctgh4j4Z5Z2DHAn6cnpf6uvHI5km9dI4PGCQONO0pWFfVunSFYJsm54V5Faxdb5x4+It/MnDlnaX4H3ATd5dxxdgSUFaW9nf5VPlHQUsCPw3y1fLGtttSeV9cwvtQ45Dpjj4KN9amg/yVpN9yAdi+pTcl1kbU9h8JGZRa6uaGhfyowEptcGH5nfACuAEQ192AFI89oReDmfEBGvkg4CO7ZKiaxSnAJsCPxvKQtL2hXYiDqa0a1dugkYJulYST2yK9gXA7+PiD/XLiTpY8AVwH9GxHutVFarcHXUIXsAL0oan/XXXi7pSUk7tU4prcz2yP72ysYLrZT0d0nfLFiupLrI2pWhNP58o9g57wrg75RwzusApHn1Yu1VgrzF2TzrgCT1AS4CzoyID0tYvhPwP8DfgAdbuHhWISLiEWAMqf/sElL3mc7AkQWLngMsIDV9m31EPXXIFsBBwDHAiaR+3n2BxyR1K3c5rey2yP7eBvwaOBB4DLhB0qjahRpRF1k7IGl/4IukC1uNsV7nvA5AzFrefwHPRcSjJS7/Y9LViG+UErBY+yBpP+Aa0onjfqRBfb2BB7IufEjaFhgLfDc8gM/qVlcdImBj4MiIeCAiHiINXt8a+Fr5i2llVtt96oaIuDQino6Ib5EGIZ+zZqES6iJrHyQNAG4Hfls4xqOldSnnyjqAxcCmRdJ7ZfOsg8kGfZ4A7JMNFIXULQJgU0mrImJZbvnTSHew+UpE/KGshbXWdgXwYET8oDZB0v+RmrgPA+4njfmYALyS2586ARtm00scmHRsDdQhi4GF+UHEEfEPSXOBgeUrpbWS2vOQpwvSf0+6I1KtUuoia+Mk9SYdT+bRtAsQ9Z3zzm7ow24BaV4vU9DvTdI2pBPOl4t+wtq7T5IG9E0j/bMuZu04kH+RGwwo6chs+uyI8H35O54dgf/LJ0TEK8AyYPss6dPAEazdlxYD2wCnZ++3LlNZrQKVUIf8heKDiAWUMujU2rbawLNwHyj8/Uupi6wNy57V8TCwAXBIRLzfhGyKnfNuAGxHCee8bgFpXhOA70vaJCKWZmlfIv3TTmq9YlkrmkJqws4bQbqv+ijgHwCShpP65F4VEX6oXMc0D6jKJ2SDgz8GzM2S/gMofDbMnaT65RfAopYtolWqEuuQh4HjJA2sHUwsaXvSffwbvGJpbd5U0oWKz5PGftTan3V//1LqImujJHUB7iFdIN0zIt5oYlYTgK9K6h8R87K0L5BuuPNY3R9LHIA0r2uA7wD3S7qEFAWOB37iZ4B0TNnt7ibm07I+lwDPZM8B2Yl067qXgbskDcktvigi/l6Golrruwb4qaT5pIr948B5pAP+owAR8XzhhyR9ALwWERPLVlIrq+xqZe0g4a2BHtmtmCHtG/0prQ55AJhJOkadC6wi3Rr8r4BbXdu4hvaTiHhf0oXApZLeBqaTBpbvw7qPCmiwLrI27eek/eS7QJ/sRjm1ZkXE8uyWzQOB2ptTDJb0Lqk+qb2gfi/w/0j1yThSd6yfArc39AwQ8IMIm132o11NGgD4NnADMD4iVrVmuaxySBoD3MzaBxHWThdza0SMKVPRrBVJEul2zaeSujm8TWpBOyci/lHP5+biBxG2a9lFi3/WMXtbYDgl1iGSPg5cSToB6QQ8SbqpwavNU1prLQ3tJxExN1vuTODbpCDlFeD8iFgzrqOpdZG1Ddkxo38ds7eNiLmSxgPnF5k/qeAhqJ8gnfMeACwntch/v5QuXQ5AzMzMzMysbDwI3czMzMzMysYBiJmZmZmZlY0DEDMzMzMzKxsHIGZmZmZmVjYOQMzMzMzMrGwcgJiZmZmZWdk4ADEzawRJYyTNkLRU0mJJsyT9pJnX8bnsPuwdgqTxkt5shnw+leXVsyB9jKSQVPgU+bKT9KCkYvfXzy9zSFbeAdn05tn3GlCw3GBJNZI2bbkSm5k1PwcgZmYlknQO6eGijwNHAMcCvwW+0Myr+hzFHwJl9fsUabv1LEh/hPRw2AYfjtWSJO0BfB64qpEf3Zz0vQbkEyPieWAW8L3mKJ+ZWbl0ae0CmJm1IacD10bED3NpD0m6oLUKZA2LiEXAotYuB/Ad4LcRUdOMed4MXC7p4ohY2Yz5mpm1GLeAmJmVrifwemFiRETte0l/lHRL4TKSbpE0K3vfVdLlkl6VtFzSfEkPSNpA0hiyK+RZN5yQNDGXzy6SHsm6gC2VdI+kLXLzh2ef2V/SbyW9J+lvkg6S1FnSZZLelPRvSWeW8qUlnSjpT5I+kLRQ0r2SNpU0StJqSdsWLL9tln5YLu3wbNssk/SWpEcl9a9nnb0lXZet7wNJU7MWhLqWHw48lE3+M9sGc7N563TBkjQgm/6ypJslvSPpX5K+ns0/O/tNFkm6RFKngnXV+xvUUb5NgMOBewvSlXWveiPL6zagR27+AOBP2eTTtftELosHgd7AwfWt38yskjgAMTMr3Uzg25KOk9SnjmVuBI7KjzfI3h8F3JQlnQN8DRgHHAicASwBOpO6C12RLTc0e52W5bMD8CzQDfg6MAbYmdQKo4JyXAtMIZ30ziOd+F4NbAJ8NZu+or6T+myd52Z5TQK+CJyalbU7qSvafOC4go+NAd7IvguSvgHcD/wdOAY4Hvgr0LeOdW4IPAkcAHw/W+8i4Ml6TvRnAmOz90eQttvh9X034BJgAXAk8Axwq6QrSF3gTgCuBM7Oylxbtsb8Bnl7Ah8Dphakfwc4D7iOtI8sAy7NzV9A2lcAvsXafQKAiHgHeIm0rczM2oaI8Msvv/zyq4QXsCvwDyCA1aQTvwuBHrllegDvAcfn0k4AlgN9sumHgSvqWc/pZA0rBem/BF4BNsilfRJYBYzOpodn5Ts/t8zALO33ubROpNacS+opR0/SuImf1LPMxcA/AWXTAuYCl+fW82/g/nryGA+8mZv+JrAC+GQurQspgLmsnnwOyb7ngIL0MVl692x6QDZ9c8Hv9iHwN6BzLv2PwF2N+Q3qKNsPgUUFaZ1JAdwvCtKfyH8PYJdsengded8CPNva/x9++eWXX6W+3AJiZlaiiHgB2Ik06PznpJPtccDztS0eka5I30s66a01BngwIt7Kpv8PGJN19dm1gSvneQcADwCrJXWR1IV08j8XGFyw7FO593Oyv7/PfZfVpGBq63rWN5R01f7mepa5CehPCnwA9sumaz/zaWCrBvIodAAwg9SVqvZ7QmqFKfye62PNNsp+t0XApIhYlVtmDutuo8b8BnlbAIV3+toG2JJ0I4O8+xvxHcjyrbcLmJlZJXEAYmbWCBGxPCIeiojTI2Ig8B+kK+DfzC12IzBM0naStgeGsbb7FaRWg/8lda2aDbwm6bslrH4z4AekK/X513akk9m8t3NlXlGYlllB6kpUl9puZgvqWiAi/gFMJHWrIvv7x4h4qdQ8itgMGMJHv+fxfPR7ro+3C6ZX1JGW30aN+Q3yupFawfJqg4Y3CtILpxuynPp/RzOziuK7YJmZrYeIuFHSpcCOubTJkv5GavkQqZvN73LzPyD1+z9P0ieBU4ArJb0SEY/Vs7oa0tX3G4rMW+/naBRR22KzZQP53wBcr3Sb4iOAs+rIo1Q1wPOk8SaFCk/iy62pv0ENH709cO0NDTYvSC+cbkjPLH8zszbBAYiZWYkkbR4RbxSk9QU2BRYWLH4T2eBx4LaCbj1rRMTfJI0lDTAeCDxGuuqOpG5ZsFLrKdKA5xkRER/JrPlNIw2KPo61A7yLuZ/UonMnqWX9zty8V0hjQI5j7V2qGvIUcBDwauH2bkBtS09LtgY09Td4BdhK0oYRURtEvUYKQg4j/e61jij4bEPfawBpUL+ZWZvgAMTMrHR/kvRbUmvGG6SxDmNJA7VvLVj2VlJXqy4UjH+Q9ABpjMMs0gn+Udlyk7NFXs7+flfS74F3IuIV0mDtPwKPSLqJdMV9a9KdtG6JiInN9UUBIuJtSRcB/yVpA+BRYENgNHBBRPw7W+4DSb8mBVF3RMTbuTxWSzob+HW2zB2kAdWfz5Z9vsiqbyO1Ck2UdDlprEof0t2pXo+In9ZR5FeyvydLuhN4PyL+VMeyTTWepv0GzwJdgc+QWneIiFVZ69nlSk+Cf4Z0R66dCj77KlkgKGkJ8GHBdhtMuqOXmVmb4DEgZmalu5B0tflnpCDkItKdsD4XEf/MLxgRrwN/IN2dqPDq9FTSrWVvJw1ArgaOzJ1UPgNcBnw3y+PaLM+/ksZGvE+6besE4AJSt6Q5tICI+DGpK9QBWVmvJXX5WVqw6G+yvzcVpBMRt5NOrHckDdC/LXtf9OGAWavPfqS7QV1A2tb/Qxpr88d6yjqPFBAeQTrhL7XFpWRN/Q2yz70IjCyYdSXwI1LAdR/p9sZnF3z2A+BE0n4yCZheO0/SINLtjBs7cN3MrNWoPK34ZmYdi6TepK5Hp0fEja1dnpaWXck/Btguu8OWFZD0PeCbEbFLM+b5Y2D3iPBzQMyszXALiJlZM5K0SfZwv6tJrQR3tHKRWpSkT0s6nNRKcrWDj3pdB/SV1CzBgqSNSS0jFzdHfmZm5eIxIGZmzasaeJr09PFjI+L9Vi5PS7sW2AN4kNQ1zeoQEe9JOg7YuJmy7Adc2Nxjf8zMWpq7YJmZmZmZWdm4C5aZmZmZmZWNAxAzMzMzMysbByBmZmZmZlY2DkDMzMzMzKxsHICYmZmZmVnZ/H8vWIwTtddimQAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<Figure size 936x237.6 with 1 Axes>"
      ]
     },
     "execution_count": 14,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "with pulse.build(backend, name='Left align example') as program:\n",
    "    with pulse.align_left():\n",
    "        gaussian_pulse = library.gaussian(100, 0.5, 20)\n",
    "        pulse.play(gaussian_pulse, pulse.drive_channel(0))\n",
    "        pulse.play(gaussian_pulse, pulse.drive_channel(1))\n",
    "        pulse.play(gaussian_pulse, pulse.drive_channel(1))\n",
    "\n",
    "program.draw()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Notice how there is no scheduling freedom for the pulses on `D1`. The second waveform begins immediately after the first. The pulse on `D0` can start at any time between `t=0` and `t=100` without changing the duration of the overall schedule. The `align_left` context sets the start time of this pulse to `t=0`. You can think of this like left-justification of a text document.\n",
    "\n",
    "\n",
    "## `align_right`\n",
    "Unsurprisingly, `align_right` does the opposite of `align_left`. It will choose `t=100` in the above example to begin the gaussian pulse on `D0`. Left and right are also sometimes called \"as soon as possible\" and \"as late as possible\" scheduling, respectively."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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GsTgIUOYMWMGAMOGD2fihAksX74cgPHjH6WqahgAjz7yCPvttz/7778/m222GUOGDGG33XZn8uSaH2L86KOPcPI3T6Fnr1707NmTU755Cg8/8vC6+ZI49bTT2HzzzenSJXUUGVhRwb6f+QwdO3bk0EMPY/HixZx44kl06tSJqqphzJ07l3feead5vkCzMlbsuIs3c+/fB6q7WW0HzKieERHvSloIbA/MLnLdr+fe9weOlXRELq0T8MdsW4sj4r3cvDlA3yK3Y2ZmZq1EZUUl99x9N0uXLmXx4sX079+fXr16cf4Pf8jSpUt59dVXqayoZPLkp7n+uuuYM2cOayP4YPlydt5pZwD69evHDjvsyKSJEzngwAOZOGECp959DwBz583liSd+z8RJuS5aq1ax995711ieBQsWsO22266b3na77Vjw1lvrpnv06Ennzp03WKZXz17r3nfu0oXuPXrQoUOHNJ3lXb78fbp167YpX5VZq7OpA7/nkoIGACRtAfQC/tOAdUTu/evALyNidGEmSf2BHpK2yAUh/QqWNzMzszZgz099imXLlvHA/ffzqb32AqBr16707t2HB+6/n969e9O7Tx+OPvoLXHLppQwdehCdOnXizDPPIHKnBlXDUjestbGWHXfckX79+gGwzTbbMGLkSC68cGxR5enduzfz5s1jp512AmDevHn07tNn3fxGjFU3a7c29S5YvwZOkLSXpM7Aj4E/RcTsRq7vV8ARkg6X1EFSF0lDJX00IuaQumNdJGlzSfsBR9S9OjMzM2uNunTpwm67784vf3kHFQMr1qUPHDgwpVVWsmrVKlauXEmPHj3p2LEjkyc/zbNTp26wnqqqKp6dOpV777mHYcOHr0sfMWIkkyZOZMozz7BmzRpWrFjBtGnTmD//TWpSNWwYN954A4sWLWLx4sXccP31jBgxonk+vFkbt0kBSEQ8CZwP3A/MAz4GfGkT1vc6cCTwA2ABqUXknFw5vwLsAywCLgTuyC+fPeBw/8Zu38zMzMrHoMpBLFq0iIEV659dPLCigkWLFlFZUckWW2zBud/7PueeM4b999+P8Y+O58ADh26wjt69e7Pnnnsya9YsDj+8al36Nttsw1VX/WzdXamqDj+M22+/jbVra+5YMXr0yey+2+4cd+wxHHvM0ey6666MHn1ys3xus7ZOEa23B5OkscBOEXF8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\n",
      "text/plain": [
       "<Figure size 936x237.6 with 1 Axes>"
      ]
     },
     "execution_count": 15,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "with pulse.build(backend, name='Right align example') as program:\n",
    "    with pulse.align_right():\n",
    "        gaussian_pulse = library.gaussian(100, 0.5, 20)\n",
    "        pulse.play(gaussian_pulse, pulse.drive_channel(0))\n",
    "        pulse.play(gaussian_pulse, pulse.drive_channel(1))\n",
    "        pulse.play(gaussian_pulse, pulse.drive_channel(1))\n",
    "\n",
    "program.draw()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## `align_equispaced(duration)`\n",
    "\n",
    "If the duration of a particular block is known, you can also use `align_equispaced` to insert equal duration delays between each instruction."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {
    "scrolled": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "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11F7s0hBAwCSNgA6Ae/VIY/IeT8TuC8iTs1PJKkH0EHSBjlBSPe85a2JeOONN5g7dy777bc/d991Fw8//AibbbZZrcvMmjWLK6+4gttuu52dd9mF1q1bc8wxRxM5u8DBhxzCqFGj6LRpJw484IAvnKCYWfV23mUXPvroIx55+GF22XVXADbccEM6d+7CIw8/TOfOnencpQtHHnkEVw0fzoAB+9G2bVt++MNz1vgfrByUumGtjJX06tWL7t27A9C1a1eGDB3KZZddXlB5OnfuzOzZs9lmm20AmD17Np27dFk13zfKMis9H7utWNb1Pmp/BE6StKuk9YGfA3+LiOn1zO/3wMGSDpLUWlI7SQMkfSUiZpC6Y10haT1JewFuo2tiPv74Y8aNHctPLryAIUOG8PWvf53DjziC6667lgXz5wMwZ84cJrz44heWXbJkCZLo0LEDAH/60594Z9q0NdIMGTKU559/jidHjWLowd49zArVrl07tt9hB+67714qelesmt67d+80rU8fli1bxtKlS+nQoSNt2rRh/PgXeGnixDXyqays5KWJE3nwgQcYNHjwqulDhgxl3NixTHjxRVasWMHnn3/OpEmTmDPnfapTOWgQt99+GwsWLGDhwoXcduutDBkypGFW3sxq5WO3Fds6tYBExLOSLgEeBjoAE4Bv175UrfnNlHQocA0puFkBvAycmSX5DnAPsACYCNxLGrwOQHanrUERUX2nYms05/zg++le4q1a0atXL447/gSOPvpoAH74wx9x6623cPzxx7Fo0SK6dOnC0Ucfw57f+MYaeWy99dYcf8IJnHD88bRq1YqhQw9m1+xKbZWuXbuy3Xbb8e7MmVRUNMztQs2aq759+vLaq6/Su2L1c2J7V1Rw//1/pE9FHzbYYAMuuPAnXHD+eSxdtox999mXffcdsEYenTt3Zuedd2by5Mlcc+3qBwp27dqVG274NTfc8Ct+8pMLad26NTvsuCM/+9nF1Zbl1FNP45OPP+GYo48C4MADB3LqqacVf6XNrEY+dltDUdWgn6ZI0uXANhFxXP68ioqKGDvOcUhLdNmll9K5S2fOPvv7jV0UMzMzK4CP3eVr4402nBwRfYuZpx9lac3Ke++9x3PPP8fhhx3e2EUxMzOzAvjY3fI4ALFm47c33cRRRx7BiSeeyJZf+UpjF8fMzMzWwsfulqlJ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\n",
      "text/plain": [
       "<Figure size 936x237.6 with 1 Axes>"
      ]
     },
     "execution_count": 16,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "with pulse.build(backend, name='example') as program:\n",
    "    gaussian_pulse = library.gaussian(100, 0.5, 20)\n",
    "    with pulse.align_equispaced(2*gaussian_pulse.duration):\n",
    "        pulse.play(gaussian_pulse, pulse.drive_channel(0))\n",
    "    pulse.play(gaussian_pulse, pulse.drive_channel(1))\n",
    "    pulse.play(gaussian_pulse, pulse.drive_channel(1))\n",
    "\n",
    "program.draw()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## `align_sequential`\n",
    "\n",
    "This alignment context does not schedule instructions in parallel. Each instruction will begin at the end of the previously added instruction."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {
    "scrolled": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 936x237.6 with 1 Axes>"
      ]
     },
     "execution_count": 17,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "with pulse.build(backend, name='example') as program:\n",
    "    with pulse.align_sequential():\n",
    "        gaussian_pulse = library.gaussian(100, 0.5, 20)\n",
    "        pulse.play(gaussian_pulse, pulse.drive_channel(0))\n",
    "        pulse.play(gaussian_pulse, pulse.drive_channel(1))\n",
    "        pulse.play(gaussian_pulse, pulse.drive_channel(1))\n",
    "\n",
    "program.draw()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Phase and frequency offsets\n",
    "\n",
    "We can use the builder to help us temporarily offset the frequency or phase of our pulses on a channel."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 936x118.8 with 1 Axes>"
      ]
     },
     "execution_count": 18,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "with pulse.build(backend, name='Offset example') as program:\n",
    "    with pulse.phase_offset(3.14, pulse.drive_channel(0)):\n",
    "        pulse.play(gaussian_pulse, pulse.drive_channel(0))\n",
    "        with pulse.frequency_offset(10e6, pulse.drive_channel(0)):\n",
    "            pulse.play(gaussian_pulse, pulse.drive_channel(0))\n",
    "\n",
    "program.draw()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "We encourage you to visit the [Pulse API reference](https://qiskit.org/documentation/apidoc/pulse.html) to learn more."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/thomas/opt/anaconda3/envs/qiskit-3.8/lib/python3.8/site-packages/qiskit/aqua/operators/operator_globals.py:48: DeprecationWarning: `from_label` is deprecated and will be removed no earlier than 3 months after the release date. Use Pauli(label) instead.\n",
      "  X = make_immutable(PrimitiveOp(Pauli.from_label('X')))\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<h3>Version Information</h3><table><tr><th>Qiskit Software</th><th>Version</th></tr><tr><td>Qiskit</td><td>0.23.6</td></tr><tr><td>Terra</td><td>0.17.0</td></tr><tr><td>Aer</td><td>0.7.5</td></tr><tr><td>Ignis</td><td>0.5.2</td></tr><tr><td>Aqua</td><td>0.8.2</td></tr><tr><td>IBM Q Provider</td><td>0.11.1</td></tr><tr><th>System information</th></tr><tr><td>Python</td><td>3.8.5 (default, Aug  5 2020, 03:39:04) \n",
       "[Clang 10.0.0 ]</td></tr><tr><td>OS</td><td>Darwin</td></tr><tr><td>CPUs</td><td>8</td></tr><tr><td>Memory (Gb)</td><td>32.0</td></tr><tr><td colspan='2'>Sat Feb 27 11:04:23 2021 AST</td></tr></table>"
      ],
      "text/plain": [
       "<IPython.core.display.HTML object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "<div style='width: 100%; background-color:#d5d9e0;padding-left: 10px; padding-bottom: 10px; padding-right: 10px; padding-top: 5px'><h3>This code is a part of Qiskit</h3><p>&copy; Copyright IBM 2017, 2021.</p><p>This code is licensed under the Apache License, Version 2.0. You may<br>obtain a copy of this license in the LICENSE.txt file in the root directory<br> of this source tree or at http://www.apache.org/licenses/LICENSE-2.0.<p>Any modifications or derivative works of this code must retain this<br>copyright notice, and modified files need to carry a notice indicating<br>that they have been altered from the originals.</p></div>"
      ],
      "text/plain": [
       "<IPython.core.display.HTML object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "import qiskit.tools.jupyter\n",
    "%qiskit_version_table\n",
    "%qiskit_copyright"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.8.5"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}
